import { blendColor } from "./blendColor";

/** 混合多个历史颜色,输入已经经过位置去重
 *
 * ! 被 wasm 替代
 */
export const blendColors = (changeArray: number[][]) => {
    let col = [];
    const len = changeArray.length;
    for (let index = len - 1; index >= 0; index--) {
        const [x, y, color1, alpha1, color2, alpha2, blend] =
            changeArray[index];

        if (alpha1 <= 0 || blend === 0) {
            // 替换行为，不进行混色
            col.push([x, y, color1, alpha1, color2, alpha2]);
            continue;
        }
        if (alpha2 <= 0) continue;
        const [color3, alpha3] = blendColor(color1, alpha1, color2, alpha2);
        if (color1 === color3 && alpha3 === alpha1) continue; // 混色前后不变，不更改
        // 生成历史更改数组
        col.push([x, y, color1, alpha1, color3, alpha3]);
    }
    return col;
};
